/**
 * @desc 返回给毫秒数的时间格式化。
 * @param ms
 * @returns {string}
 */
const formatDuration = ms => {
	// 判断 ms
	if (ms < 0) ms = -ms;
	// 获得适当时间对象的值
	const time = {
		day: Math.floor(ms / 86400000),
		hour: Math.floor(ms / 3600000) % 24,
		minute: Math.floor(ms / 60000) % 60,
		second: Math.floor(ms / 1000) % 60,
		millisecond: Math.floor(ms) % 1000
	};

	// 利用 Object.entries() + filter() 仅保留非零值
	return Object.entries(time)
	.filter(val => !!val[1])
	// 判断加不加 s
	.map(([key, val]) => `${val} ${key}${val !== 1 ? 's' : ''}`)
	// 格式化为字符串
	.join(', ');
};
formatDuration(1001); // '1 second, 1 millisecond'
formatDuration(34325055574);  // '397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds'
